package org.example.dynamic_planning;

public class Back_to_the_text_substring {
    public static void main(String[] args) {
        //回文子串

        //给你一个字符串 s ，请你统计并返回这个字符串中 回文子串 的数目。
        //回文字符串 是正着读和倒过来读一样的字符串。
        //子字符串 是字符串中的由连续字符组成的一个序列。
        String s = "aaa";
        int i = countSubstrings(s);
        System.out.println(i);
    }
    public static int countSubstrings(String s) {
        int res = 0;
        boolean[][] dp = new boolean[s.length()][s.length()];
        for (int i = 0; i < s.length(); i++) {
            for (int j = i; j >= 0; j--) {
                if (s.charAt(i) == s.charAt(j)){
                    if (i-j <= 1){
                        res++;
                        dp[i][j] = true;
                    }else if (dp[i-1][j+1]){
                        res++;
                        dp[i][j] = true;
                    }
                }
            }
        }
        return res;
    }
}
